#pragma once
#include <iostream>

struct Node
{
private:
	static int createTimes, copyCreateTimes, moveCreateTimes, copyAssignTimes, moveAssignTimes, delTimes;
	int val;
public:	
	Node(int v = 0);//默认构造函数
	~Node();
	Node(const Node &y);//拷贝构造函数
	Node(Node &&y);//移动构造函数
	Node& operator=(const Node &y);//重载拷贝赋值运算符
	Node& operator=(Node &&y);//重载移动赋值运算符
	friend std::istream& operator>>(std::istream& in, Node& x);//重载输入流运算符
	friend std::ostream& operator<<(std::ostream& out, const Node& x);//重载输出流运算符
	static void outputResult();//输出各个构造函数的调用次数
};
